#pragma once

#include "head.hpp"

using std::string;
using std::ifstream;
using std::list;

struct node {
    string _key;
    string _value;
    node(const string& key,const string& value)
        :_key(key),_value(value)
        {}
};

class ConfigFile {
public:
    ConfigFile()    = default;
    ~ConfigFile()   = default;
    
    bool read(const string fileName = "my.conf");               // 读取配置文件中的信息
    const string GetString(const string key);       // 得到字符串类型的 value
    const int GetInt(const string key,const int del);   // 得到int 类型的数据，默认值为 del
private:
    void ltrim(string& str);                    // 清除字符串左边空格
    void rtrim(string& str);                    // 清除字符串右边空格
    inline bool is_char(char ch);               // 判断是否为字母
private:
    static list<node*>      _info;
    static size_t           _size;
};